Zurück in Fortgeschrittene ProgrammentwicklungWeiter in Fortgeschrittene ProgrammentwicklungBeispiel 'Wörterbuch Standard' Zusammenfassung ?

a) Aufgabe

Wir möchten ein Wörterbuch 'Deutsch-Englisch' für Fachbegriffe der Informatik erstellen. Das folgende Bild zeigt die Benutzerschnittstelle. Auf dem Tabellenblatt gibt man Begriffspaare ein und fügt sie durch Klicken der ersten Schaltfläche einer Datenstruktur des Internspeichers hinzu. Über die zweite Schaltfläche kann man sich die englische Übersetzung eines deutschen Begriffes ausgeben lassen. Schliesslich lässt sich ein bestimmtes Begriffspaar auch wieder aus dem Wörterbuch entfernen.

Das Projekt gleicht dem Telefonverzeichnis-Projekt. Anstelle der Namen und Telefonnummern treten deutsche und englische Begriffe. Die Klasse für das Verzeichnis möchten wir diesmal jedoch selber mit Hilfe eines Binärbaumes programmieren, um die Mechanismen hinter der Verwaltung grosser Datenmengen kennenzulernen. Wir werden sehen, dass die Suche in einem sortierten Binärbaum beinahe so schnell ist wie die binäre Suche in einem Datenfeld, dass aber die verkettete Struktur das Einfügen und Entfernen von Elementen erleichtert.

b) Entwurf des Objektmodells

Das nächste Bild skizziert die Module und Objekte der Anwendung. Den Kern der Implementation bildet die selbst entwickelte Auflistung cWörterbuch, die im wesentlichen die Aufgabe der Collection-Klasse im Telefonverzeichnis-Projekt übernimmt. Ihre fügeHinzu-Methode füllt neue Begriffspaare in alphabetischer Sortierung in einen Binärbaum ein.

Die Module erfüllen die folgenden Funktionen:

c) Implementation

Ein Wörterbuch-Objekt erscheint den Benutzern als Liste. Tatsächlich verwaltet es die Eintrag-Objekte aber intern in einer Binärbaumstruktur. Die Vorteile wurden in der Einleitung bereits angedeutet. Die Themen sortierter Binärbaum, ausbalancierter Binärbaum, verkettete Datenstrukturen und rekursive Algorithmen implementieren die Baumstruktur und die zugehörigen Algorithmen und diskutieren die Stärken und Schwächen gegenüber anderen Datenstrukturen eingehender.

Lösung LWoerterbuch.xls

©abo